<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
  <title>Description of v_rotmr2qr</title>
  <meta name="keywords" content="v_rotmr2qr">
  <meta name="description" content="V_ROTMR2QR converts a matrix of real quaternion matrices to quaternion vectors">
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
  <meta name="robots" content="index, follow">
  <link type="text/css" rel="stylesheet" href="../m2html.css">
</head>
<body>
<a name="_top"></a>
<div><a href="../index.html">Home</a> &gt;  <a href="index.html">v_mfiles</a> &gt; v_rotmr2qr.m</div>

<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td>
<td align="right"><a href="index.html">Index for v_mfiles&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>-->

<h1>v_rotmr2qr
</h1>

<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>V_ROTMR2QR converts a matrix of real quaternion matrices to quaternion vectors</strong></div>

<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="box"><strong>function qr=v_rotmr2qr(mr) </strong></div>

<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="fragment"><pre class="comment">V_ROTMR2QR converts a matrix of real quaternion matrices to quaternion vectors
 Inputs: 

     MR(4m,4n,...)   mxn matrix of real quaternion matrices (each 4x4)

 Outputs: 

     QR(4m,n,...)   mxn matrix of real quaternion vectors (each 4x1)

 In matrix form, quaternions can be multiplied and added using normal matrix 
 arithmetic. Each element of an mxn matrix of quaternions is itself a 4x4 block
 so the total dimension of MR is 4m x 4n.</pre></div>

<!-- crossreference -->
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
This function calls:
<ul style="list-style-image:url(../matlabicon.gif)">
<li><a href="v_rotqr2ro.html" class="code" title="function r=v_rotqr2ro(q)">v_rotqr2ro</a>	ROTQR2RO converts a real quaternion to a 3x3 rotation matrix</li></ul>
This function is called by:
<ul style="list-style-image:url(../matlabicon.gif)">
</ul>
<!-- crossreference -->


<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function qr=v_rotmr2qr(mr)</a>
0002 <span class="comment">%V_ROTMR2QR converts a matrix of real quaternion matrices to quaternion vectors</span>
0003 <span class="comment">% Inputs:</span>
0004 <span class="comment">%</span>
0005 <span class="comment">%     MR(4m,4n,...)   mxn matrix of real quaternion matrices (each 4x4)</span>
0006 <span class="comment">%</span>
0007 <span class="comment">% Outputs:</span>
0008 <span class="comment">%</span>
0009 <span class="comment">%     QR(4m,n,...)   mxn matrix of real quaternion vectors (each 4x1)</span>
0010 <span class="comment">%</span>
0011 <span class="comment">% In matrix form, quaternions can be multiplied and added using normal matrix</span>
0012 <span class="comment">% arithmetic. Each element of an mxn matrix of quaternions is itself a 4x4 block</span>
0013 <span class="comment">% so the total dimension of MR is 4m x 4n.</span>
0014 
0015 <span class="comment">%</span>
0016 <span class="comment">%      Copyright (C) Mike Brookes 2000-2018</span>
0017 <span class="comment">%      Version: $Id: v_rotmr2qr.m 10865 2018-09-21 17:22:45Z dmb $</span>
0018 <span class="comment">%</span>
0019 <span class="comment">%   VOICEBOX is a MATLAB toolbox for speech processing.</span>
0020 <span class="comment">%   Home page: http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html</span>
0021 <span class="comment">%</span>
0022 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
0023 <span class="comment">%   This program is free software; you can redistribute it and/or modify</span>
0024 <span class="comment">%   it under the terms of the GNU General Public License as published by</span>
0025 <span class="comment">%   the Free Software Foundation; either version 2 of the License, or</span>
0026 <span class="comment">%   (at your option) any later version.</span>
0027 <span class="comment">%</span>
0028 <span class="comment">%   This program is distributed in the hope that it will be useful,</span>
0029 <span class="comment">%   but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
0030 <span class="comment">%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
0031 <span class="comment">%   GNU General Public License for more details.</span>
0032 <span class="comment">%</span>
0033 <span class="comment">%   You can obtain a copy of the GNU General Public License from</span>
0034 <span class="comment">%   http://www.gnu.org/copyleft/gpl.html or by writing to</span>
0035 <span class="comment">%   Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.</span>
0036 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
0037 s=size(mr);
0038 s(2)=s(2)/4;
0039 mr=reshape(mr,s(1),[]);
0040 qr=reshape(mr(:,1:4:end),s);
0041 <span class="keyword">if</span> ~nargout
0042     qr=qr(1:4); <span class="comment">% select the first element</span>
0043     <a href="v_rotqr2ro.html" class="code" title="function r=v_rotqr2ro(q)">v_rotqr2ro</a>(qr(:)); <span class="comment">% plot a rotated cube</span>
0044 <span class="keyword">end</span></pre></div>
<hr><address>Generated by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
</body>
</html>